home *** CD-ROM | disk | FTP | other *** search
- % Professional Write PostScript prologue file
- % version 1.02
- % Copyright 1988 Software Publishing Corporation
-
-
- /PWdict 75 dict def % define the Professional Write dictionary
- PWdict begin
-
- /bd {bind def} bind def
-
-
-
-
-
- /Linefont % recreate IBM's line drawing chars
- 10 dict dup begin
- /FontType 3 def
- /FontMatrix [.001 0 0 .001 0 0] def
- /FontBBox [0 -300 600 700] def
- /Encoding 256 array def
- 0 1 255 {Encoding exch /.notdef put} for
- Encoding 176 [
- /onequarter /onehalf /threequarters
- /tb /tbl /tbl2 /t2b2l /b2l /bl2 /t2b2l2 /t2b2 /b2l2 /t2l2 /t2l
- /tl2 /bl /tr /trl /rbl /trb /rl /trbl /tr2b /t2rb2 /t2r2 /r2b2
- /t2r2l2 /r2b2l2 /t2r2b2 /r2l2 /t2r2b2l2 /tr2l2 /t2rl /r2bl2
- /rb2l /t2r /tr2 /r2b /rb2 /t2rb2l /tr2bl2 /tl /rb
- /block /bblock /lblock /rblock /tblock
- ] putinterval
- Encoding 32 /space put
- Encoding 254 /squarebullet put
-
- /CharDefs 80 dict def CharDefs begin
- /.notdef {} def
-
- /lx 0 def
- /rx 600 def
- /by -300 def
- /ty 700 def
- /cx 300 def
- /cy 350 def
- /c1x 245 def
- /c2x 355 def
- /c1y 295 def
- /c2y 405 def
- /sqblx 150 def
- /sqbrx 450 def
- /sqbty 500 def
- /sqbby 200 def
-
- /l {gsave lx currentpoint exch pop lineto stroke grestore} bd
- /r {gsave rx currentpoint exch pop lineto stroke grestore} bd
- /t {gsave currentpoint pop ty lineto stroke grestore} bd
- /b {gsave currentpoint pop by lineto stroke grestore} bd
- /box {3 index 3 index moveto 3 index 1 index lineto
- 1 index 1 index lineto 1 index 3 index lineto
- closepath fill pop pop pop pop} bd
-
- /tb {cx ty moveto b} bd
- /tbl {cx cy moveto t b l} bd
- /bl {cx cy moveto b l} bd
- /tr {cx cy moveto t r} bd
- /trl {cx cy moveto t r l} bd
- /rbl {cx cy moveto r b l} bd
- /trb {cx cy moveto t r b} bd
- /rl {lx cy moveto r} bd
- /trbl {cx cy moveto t r b l} bd
- /tl {cx cy moveto t l} bd
- /rb {cx cy moveto r b} bd
- /tbl2 {cx c1y moveto t b l cx c2y moveto l} bd
- /t2b2l {c1x cy moveto t b l c2x ty moveto b} bd
- /b2l {c2x cy moveto b l c1x cy moveto b} bd
- /bl2 {cx c2y moveto b l cx c1y moveto l} bd
- /t2b2l2 {c1x c1y moveto b l c1x c2y moveto t l c2x ty moveto b} bd
- /t2b2 {c1x ty moveto b c2x ty moveto b} bd
- /b2l2 {c1x c1y moveto b l c2x c2y moveto b l} bd
- /t2l2 {c1x c2y moveto t l c2x c1y moveto t l} bd
- /t2l {c2x cy moveto t l c1x cy moveto t} bd
- /tl2 {cx c1y moveto t l cx c2y moveto l} bd
- /tr2b {cx c1y moveto t r b cx c2y moveto r} bd
- /t2rb2 {c2x cy moveto t r b c1x ty moveto b} bd
- /t2r2 {c1x c1y moveto t r c2x c2y moveto t r} bd
- /r2b2 {c1x c2y moveto r b c2x c1y moveto r b} bd
- /t2r2l2 {c1x c2y moveto t l c2x c2y moveto t r lx c1y moveto r} bd
- /r2b2l2 {lx c2y moveto r c1x c1y moveto b l c2x c1y moveto r b} bd
- /t2r2b2 {c2x c2y moveto t r c2x c1y moveto r b c1x ty moveto b} bd
- /r2l2 {lx c1y moveto r lx c2y moveto r} bd
- /t2r2b2l2 {c1x c1y moveto b l c1x c2y moveto t l c2x c2y moveto t r c2x c1y moveto r b} bd
- /tr2l2 {cx c2y moveto t r l lx c1y moveto r} bd
- /t2rl {c1x cy moveto t r l c2x cy moveto t} bd
- /r2bl2 {lx c2y moveto r cx c1y moveto r b l} bd
- /rb2l {c1x cy moveto r b l c2x cy moveto b} bd
- /t2r {c1x cy moveto t r c2x cy moveto t} bd
- /tr2 {cx c1y moveto t r cx c2y moveto r} bd
- /r2b {cx c2y moveto r b cx c1y moveto r} bd
- /rb2 {c1x cy moveto r b c2x cy moveto b} bd
- /t2rb2l {c1x cy moveto t r b l c2x ty moveto b} bd
- /tr2bl2 {cx c1y moveto t r b l lx c2y moveto r} bd
- /block {lx by rx ty box} bd
- /bblock {lx by rx cy box} bd
- /lblock {lx by cx ty box} bd
- /rblock {cx by rx ty box} bd
- /tblock {lx cy rx ty box} bd
- /onequarter {lx by rx ty box} bd
- /onehalf {lx by rx ty box} bd
- /threequarters {lx by rx ty box} bd
- /space {} bd
- /squarebullet {sqblx sqbby sqbrx sqbty box} bd
- end
-
- /BuildChar
- {
- 20 setlinewidth
- 600 0 0 -300 600 700 setcachedevice
- exch begin
- Encoding exch get
- CharDefs begin load exec end
- end
- } bd
-
- /FontInfo 10 dict def FontInfo begin
- /Notice (Copyright 1988 Software Publishing Corporation) def
- /FullName (Line-Light) def
- /FamilyName (Line) def
- /Weight (Light) def
- /version (001.000) def
- /UnderlinePosition -80 def
- /UnderlineThickness 40 def
- /isFixedPitch true def
- /ItalicAngle 0 def
- end
- end
- def
-
-
-
-
-
-
- /SPCEncoding 256 array def % access foreign chars
- StandardEncoding SPCEncoding copy pop
-
- SPCEncoding 128 [
- /Ccedilla /udieresis /eacute /acircumflex /adieresis /agrave /aring
- /ccedilla /ecircumflex /edieresis /egrave /idieresis /icircumflex
- /igrave /Adieresis /Aring /Eacute /ae /AE /ocircumflex /odieresis /ograve
- /ucircumflex /ugrave /ydieresis /Odieresis /Udieresis /cent /sterling
- /yen /.notdef /florin /aacute /iacute /oacute /uacute /ntilde /Ntilde
- /ordfeminine /ordmasculine /questiondown /.notdef /.notdef /.notdef
- /.notdef /exclamdown /guillemotleft /guillemotright
- ] putinterval
- SPCEncoding 20 [/paragraph /section] putinterval
- SPCEncoding 225 [/germandbls /dagger /daggerdbl
- /quotedblleft /quotedblright] putinterval
-
-
-
- /MakeSPCFont % make fonts with foreign chars in 'em
- {
- FontDirectory 1 index known not FontDirectory 3 index known and
- {
- exch findfont dup length dict exch
- { 1 index /FID eq
- { pop pop }
- { 1 index /Encoding eq { pop SPCEncoding } if
- 2 index 3 1 roll put
- } ifelse
- } forall
- definefont pop
- }
- {pop pop} ifelse
- } bd
-
- /cstr 100 string def
- /sstr (-SPC) def
-
- /setSPCfonts
- {
- fonts
- {
- dup cstr cvs sstr search
- {exch pop exch pop cvn exch MakeSPCFont}
- {pop pop} ifelse
- } forall
- } bd
-
-
-
-
-
-
-
- /family 0 def % state variables
- /bold false def
- /italic false def
- /underline false def
- /superscript false def
- /subscript false def
- /sideways false def
- /lineheight 12 def
- /fontsize 10 def
- /linedrawing false def
-
- /dirty false def
-
-
-
- /leftmargin 0 def % some useful numbers
- /scriptfactor .8 def
- /line1 {11 72 mul lineheight sub} bd
- /line1sw {8.5 72 mul lineheight sub} bd
- /superoffset {fontsize .3 mul} bd
- /suboffset {fontsize .25 mul neg} bd
-
-
-
-
- /savestate % be able to save and restore state
- {
- family bold italic underline superscript subscript
- sideways lineheight fontsize linedrawing
- manualfeedOK {statusdict begin manualfeed end} if
- } bd
-
- /getstate % restoring state, set orientation and font
- {
- manualfeedOK {statusdict begin /manualfeed exch def end} if
- /linedrawing exch def
- /fontsize exch def
- /lineheight exch def
- /sideways exch def
- /subscript exch def
- /superscript exch def
- /underline exch def
- /italic exch def
- /bold exch def
- /family exch def
- leftmargin line1 moveto
- sideways {612 0 translate 90 rotate leftmargin line1sw moveto} if
- setfontnstyle
- } bd
-
-
-
-
-
- /fonts % all fonts accessible from Professional Write
- [
- /Courier-SPC /Courier-Bold-SPC /Courier-Oblique-SPC /Courier-BoldOblique-SPC
- /Times-Roman-SPC /Times-Bold-SPC /Times-Italic-SPC /Times-BoldItalic-SPC
- /Helvetica-SPC /Helvetica-Bold-SPC /Helvetica-Oblique-SPC /Helvetica-BoldOblique-SPC
- /Helvetica-Narrow-SPC /Helvetica-Narrow-Bold-SPC /Helvetica-Narrow-Oblique-SPC /Helvetica-Narrow-BoldOblique-SPC
- /Palatino-Roman-SPC /Palatino-Bold-SPC /Palatino-Italic-SPC /Palatino-BoldItalic-SPC
- /AvantGarde-Book-SPC /AvantGarde-Demi-SPC /AvantGarde-BookOblique-SPC /AvantGarde-DemiOblique-SPC
- /Bookman-Light-SPC /Bookman-Demi-SPC /Bookman-LightItalic-SPC /Bookman-DemiItalic-SPC
- /NewCenturySchlbk-Roman-SPC /NewCenturySchlbk-Bold-SPC /NewCenturySchlbk-Italic-SPC /NewCenturySchlbk-BoldItalic-SPC
- /ZapfChancery-MediumItalic-SPC /ZapfChancery-MediumItalic-SPC /ZapfChancery-MediumItalic-SPC /ZapfChancery-MediumItalic-SPC
- ] def
-
- /fontlength fonts length def % length of fonts array
-
-
-
-
-
-
- /bounds % bounds-checking algorithm
- {
- 3 index 3 index lt 4 index 3 index gt or
- { {exch} if pop exch pop}
- {pop pop pop} ifelse
- } bd
-
-
-
-
-
- /init % initialization - install fonts, start page 1
- {
- /Linefont Linefont definefont pop
- setSPCfonts startpage setfontnstyle
- } bd
-
-
-
-
-
-
-
- % the following routines are called from other routines
- % routines include start new page, eject page, set font and style
- % (style includes bold, italic, underline, super/subscript, line drawing),
- % import graph from HG, draw an underline
-
-
- /startpage {/s1 save def leftmargin line1 moveto} bd
-
- /endpage {showpage s1 restore} bd
-
- /setfontnstyle
- {
- linedrawing
- {/Linefont findfont [fontsize 0 0 lineheight 0 0] makefont setfont}
- {
- fonts family 4 mul bold {1 add} if italic {2 add} if
- 0 fontlength false bounds get
- findfont fontsize scalefont
- superscript subscript or {scriptfactor scalefont} if
- setfont
- } ifelse
- } bd
-
-
- /doHGgraph
- {
- 0 currentpoint exch pop lineheight add 792 exch sub neg
- currentfile cstr readline pop length
- 0 66 true bounds {nl} repeat
- /s2 save def
- /initgraphics {} def
- /HGdict 50 dict def HGdict begin
- translate {currentfile cvx exec} stopped pop
- end
- s2 restore
- dirty not {/dirty true def} if
- } bd
-
- /markdict 1 dict def markdict begin
- /cleartomarkdict
- { {currentdict end /cleartomarkdict known {exit} if} loop} bd
- end
-
- /showunderline
- {
- dup stringwidth pop exch show
- gsave markdict begin mark exch
- {
- currentfont begin
- FontMatrix
- FontInfo begin
- 0 UnderlinePosition 2 index transform rmoveto
- UnderlineThickness 0 3 -1 roll transform pop setlinewidth
- end
- end
- neg 0 rlineto stroke
- } stopped
- pop cleartomarkdict cleartomark grestore
- } bd
-
-
-
-
-
- /manualfeedOK
- markdict begin mark
- {
- statusdict begin
- currentdict /manualfeed known
- {/manualfeed load type /booleantype eq} {false} ifelse
- } stopped cleartomarkdict {cleartomark false} {exch pop} ifelse
- def
-
-
-
-
-
-
- % these routines are called from the script
- % included are turning all enhancements on and off,
- % (enhancements are bold, italic, underline, super/subscript, and line drawing)
- % horizontal pen movement (absolute and relative), changing font,
- % font size, line height, orientation (portrait or landscape),
- % showing a string, going to a new line, ejecting a page
-
- /U {/underline true def} bd
- /u {/underline false def} bd
- /B {/bold true def setfontnstyle} bd
- /b {/bold false def setfontnstyle} bd
- /I {/italic true def setfontnstyle} bd
- /i {/italic false def setfontnstyle} bd
- /SP {/superscript true def setfontnstyle} bd
- /sp {/superscript false def setfontnstyle} bd
- /SB {/subscript true def setfontnstyle} bd
- /sb {/subscript false def setfontnstyle} bd
- /F {/family exch def setfontnstyle} bd
- /L {/linedrawing true def setfontnstyle} bd
- /l {/linedrawing false def setfontnstyle} bd
- /M {10.0 div currentpoint exch pop moveto} bd
- /MR {10.0 div 0 rmoveto} bd
- /ML {10.0 div neg 0 rmoveto} bd
- /HG {doHGgraph} bd
- /SZ {/fontsize exch def setfontnstyle} bd
- /LH {/lineheight exch def} bd
- /SW {sideways not {/sideways true def dirty {ff} {fakeff} ifelse} if} bd
- /sw {sideways {/sideways false def dirty {ff} {fakeff} ifelse} if} bd
- /MF {manualfeedOK {statusdict begin /manualfeed true def end} if} bd
- /mf {manualfeedOK {statusdict begin /manualfeed false def end} if} bd
-
- /nl {currentpoint lineheight sub exch pop leftmargin exch moveto} bd
-
- /ff {savestate endpage startpage getstate} bd
-
- /fakeff {savestate s1 restore startpage getstate} bd % ff without the showpage
-
-
- /s
- {
- superscript {0 superoffset rmoveto} if
- subscript {0 suboffset rmoveto} if
- underline {showunderline} {show} ifelse
- superscript {0 superoffset neg rmoveto} if
- subscript {0 suboffset neg rmoveto} if
- dirty not {/dirty true def} if
- } bd
-
-
- end
-
-